package com.tydic.system.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.tydic.common.core.enums.Status;
import com.tydic.common.mybatis.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * 菜单权限表 sys_menu
 *
 * @author Lion Li
 */

@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dxbm_sys_menu")
public class SysMenu extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 3435352701582932297L;
    /**
     * 菜单ID
     */
    @TableId
    private String menuCode;

    /**
     * 菜单名称
     */
    private String menuName;

    /**
     * 父菜单编码
     */
    private String parentCode;
    /**
     * 父菜单编码列表
     */
    private String parentCodes;
    /**
     * 排序
     */
    private Integer treeSort;
    /**
     * 排序列表
     */
    private String treeSorts;
    /**
     * 是否最末级
     */
    private String treeLeaf;
    /**
     * 层次级别
     */
    private String treeLevel;
    /**
     * 全节点名
     */
    private String treeNames;
    /**
     * 菜单类型（1菜单 2权限 3开发）
     */
    private String menuType;
    /**
     * 是否显示（1显示 0隐藏）
     */
    private boolean isShow;
    /**
     * 归属系统（default:主导航菜单、mobileApp:APP菜单）
     */
    private String sysCode;
    /**
     * 归属模块（多个用逗号隔开）
     */
    private String moduleCodes;
    /**
     * 状态（0正常 1删除 2停用）
     */
    @TableLogic
    private String status = Status.ENABLED.getValue();
    /**
     * 权限
     */
    private String permission;
}
